Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow replica to fetch segments from remote store instead of leader node #7028

Closed

Conversation

ankitkala
Copy link
Member

@ankitkala ankitkala commented Apr 6, 2023

Description

This change enables replica to copy the segments(instead of node to node segrep) from remote store.
Might need few minor changes to make this PR ready, if required.

What is not covered:

  • SegRep relies on StoreFileMetadata to compute the diff whereas remote store has its own metadata file for fetching diff and downloading the segments. We'll need converge both the approaches to use common constructs.
  • There were also discussions to enable fsync-less commits instead of refreshes in [Segment Replication] Remote store integration high level design. #4555, while that change is good to have, its is not immediately required to make the integration work as we're already uploading the in-memory segments(after refresh) to remote store as well.
  • Deletion policy for segments in remote store(probably should be covered during remote store GA).

Issues Resolved

#4555
#4536

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Signed-off-by: Ankit Kala <ankikala@amazon.com>
@github-actions
Copy link
Contributor

github-actions bot commented Apr 6, 2023

Gradle Check (Jenkins) Run Completed with:

@gbbafna gbbafna marked this pull request as draft April 7, 2023 10:13
@gbbafna gbbafna changed the title [Draft] Allow replica to fetch segments from remote store instead of leader node Allow replica to fetch segments from remote store instead of leader node Apr 7, 2023
@mch2
Copy link
Member

mch2 commented May 1, 2023

@ankitkala I think we should split this into two PRs behind a new feature flag.

  1. The ReplicationSource using remote store.
  2. The notification publish step after upload.

Wdyt?

@ankitkala
Copy link
Member Author

@ankitkala I think we should split this into two PRs behind a new feature flag.

  1. The ReplicationSource using remote store.
  2. The notification publish step after upload.

Wdyt?

@ankitkala I think we should split this into two PRs behind a new feature flag.

  1. The ReplicationSource using remote store.
  2. The notification publish step after upload.

Wdyt?

Makes sense! Let me put up the first PR for notification publish step.

@opensearch-trigger-bot
Copy link
Contributor

This PR is stalled because it has been open for 30 days with no activity. Remove stalled label or comment or this will be closed in 7 days.

@opensearch-trigger-bot opensearch-trigger-bot bot added the stalled Issues that have stalled label Jun 24, 2023
@opensearch-trigger-bot
Copy link
Contributor

This PR was closed because it has been stalled for 7 days with no activity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stalled Issues that have stalled
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants